In computing environments, machine learning is often used in order to predict an output based on an input using knowledge or intelligence garnered from training. In order to apply machine learning to real-world problems, conventional approaches require many complex procedures with multiple steps. For example, input data often undergoes multiple preprocessing steps before features are extracted from the input data and processed. These normalized features are then used to train and test one or more machine learning algorithms, after which parameters of the machine learning algorithms are fine-tuned and the predicted outputs of multiple machine learning algorithms can ultimately be combined using an ensemble method. At each stage from the preprocessing to the ensembling, conventional machine learning approaches require an experienced data scientist to determine and prioritize which method, algorithm, and parameter setting to test next. Given the vast number of preprocessing procedures, algorithms, and possible parameters involved with applying machine learning to a real-world problem, conventional techniques often produce sub-optimal machine learning workflows.